From 4c02c080475c9d08dbed98dd64ecca337aa359ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@member.fsf.org>
Date: Sat, 20 Feb 2021 20:37:39 +0800
Subject: [PATCH] Allow set libretro_directory via environment variable

---
 retroarch.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/retroarch.c b/retroarch.c
index 8a0461c816..cbf11d8b6a 100644
--- a/retroarch.c
+++ b/retroarch.c
@@ -17603,7 +17603,18 @@ static bool retroarch_parse_input_and_config(
             p_rarch->configuration_settings->bools.log_to_file,
             p_rarch->configuration_settings->bools.log_to_file_timestamp,
             p_rarch->configuration_settings->paths.log_dir);
-            
+
+   /* Override settings via environment variables */
+   {
+      settings_t *settings = p_rarch->configuration_settings;
+      char *value = getenv("LIBRETRO_DIRECTORY");
+      if (value != NULL)
+      {
+         retroarch_override_setting_set(RARCH_OVERRIDE_SETTING_LIBRETRO_DIRECTORY, NULL);
+         configuration_set_string(settings, settings->paths.directory_libretro, value);
+      }
+   }
+
    /* Second pass: All other arguments override the config file */
    optind = 1;
 
-- 
2.33.0

